package com.heima.article.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.heima.model.article.dtos.ArticleDto;
import com.heima.model.article.dtos.ArticleHomeDto;
import com.heima.model.article.dtos.ArticleInfoDto;
import com.heima.model.article.pojos.ApArticle;
import com.heima.model.common.dtos.ResponseResult;
import com.heima.model.mess.ArticleVisitStreamMess;

public interface ApArticleService extends IService<ApArticle> {
    /**
     * 加载首页  更多  最新  通用service
     * @param dto
     * @param type  1代表加载更多或者首页    2代表加载最新
     * @return
     */
    ResponseResult load(ArticleHomeDto dto, Short type);

    /**
     * 保存文章  文章内容  文章配置
     * @param dto
     * @return
     */
    ResponseResult saveArticle(ArticleDto dto);

    /**
     * 查询行为数据
     * @param dto
     * @return
     */
    ResponseResult loadArticleBehavior(ArticleInfoDto dto);

    /**
     * 加载首页   先查询redis  r
     * @param dto
     * @param loadtypeLoadMore
     * @param firstPage  是否是首页  ture则查询redis  false则查询db
     * @return
     */
    ResponseResult load2(ArticleHomeDto dto, Short loadtypeLoadMore, boolean firstPage);

    /**
     * 更新文章分值
     * @param mess
     */
    void updateArticleScore(ArticleVisitStreamMess mess);
}
